1. Field of the Invention
The present invention relates to an apparatus and a method for detecting an electrical angle of a rotor of a synchronous motor without requiring a particular sensor. The invention also relates to a motor control apparatus for controlling the operation of a synchronous motor by applying the electrical angle detecting apparatus.
2. Description of the Related Art
Various AC motors are used in industrial machines, railway vehicles and the like. Hybrid vehicles employing an AC motor as one of the drive sources have also been proposed. One type of such conventional AC motors is a synchronous motor in which multi-phase alternating currents are caused to flow through windings of the AC motor and a rotor is rotated by interactions between magnetic fields generated by alternating currents flowing through the windings and magnetic fields generated by permanent magnets. In order to achieve a desired rotating torque in a synchronous motor, it is necessary to control the multi-phase alternating currents supplied through the windings in accordance with the position of the rotor, that is, the electrical angle.
Typical methods for detecting the electrical angle use a sensor, such as a Hall device or the like. In such methods, however, the detection precision of the sensor and the reliability thereof against failures become problems in the pursuit of stable operation of the motor. With regard to generally termed salient pole type synchronous motors, a sensor-less detection method has been proposed which detects the electrical angle based on determination described below without requiring the use of a sensor as mentioned above. Since the method does not require a sensor, the method allows an improvement of the reliability against failures.
Among the methods for detecting the electrical angle of a salient pole type synchronous motor without using a sensor, a method that uses the following equations (1), (2) has been proposed for a case where the motor is operated at relatively high rotational speed (hereinafter, simply referred to as "high speed"). EQU Vd-R.times.Id-p(Ld.times.Id)+.omega..times.Lq.times.Iq=0 (1) EQU Vq-R.times.Iq-p(Lq.times.Iq)-.omega..times.Ld.times.Id-E=0 (2)
where V represents the value of voltage applied to the motor, I represents the value of current through a motor winding, and L represents the inductance of a motor winding. Affixes d and q placed on V, I, L indicate values taken in the directions of the generally termed d-axis and q-axis of the motor. The other variables in the equations represent as follows: R is the motor coil resistance; .omega. is the electrical rotating angular speed of the motor; E is the electromotive force generated by the turning operation of the motor. The electrical angular speed .omega. of the motor is calculated by multiplying the mechanical angular speed of the motor by the number of pairs of poles. Furthermore, p is a time differential operator. That is, EQU p(Ld.times.Id)=d(Ld.times.Id)/dt
The d-axis and the q-axis will be briefly described with reference to FIG. 3. A permanent magnet type three-phase synchronous motor can be expressed by an equivalent circuit shown in FIG. 3. Referring to the equivalent circuit, an axis extending through the turning center of the motor and in the direction of the field generated by a permanent magnet is normally termed d-axis. An axis extending in the plane of rotation of the rotor and intersecting perpendicularly with the d-axis is termed q-axis. The angle formed between the d-axis and a U-phase in the equivalent circuit of FIG. 3 corresponds to the electrical angle .theta. of the motor.
The voltage equations (1), (2) always hold with respect to the d and q-axes. In the case of sensor-less control of a motor, a motor controller evaluates the equations based on an estimated electrical angle (corresponding to .theta.c in FIG. 3). The result of the evaluation has a calculation error in accordance with an error angle (.DELTA..theta. in FIG. 3) of the estimated electrical angle .theta.c from a real electrical angle .theta.. That is, if calculated values of current and voltage are used in the evaluation of the voltage equations (1), (2), the value of the left side of each equation becomes other than zero although the value is supposed to be zero.
An electrical angle at a certain timing is estimated by adding an amount of change in the electrical angle calculated from the motor operating speed to the electrical angle occurring at the previous timing. In this estimation, the error of the electrical angle is caused by two factors. One of the factors is an error in the calculation of an electrical angle that is used as a reference for estimating an electrical angle at that timing, that is, the electrical angle at the previous timing. The other factor is an error in regard to the motor operating speed. The equation (2), which holds with respect to the q-axis, includes a term of electromotive force E created by the turning operation of the motor. Therefore, an error produced in the equation (2) has a close relationship mainly with the error in regard to the motor operating speed. On the other hand, an error produced in the equation (1), which holds with respect to the d-axis, has a relationship mainly with the error in the calculation of the electrical angle. Taking into account the errors in the equations (1), (2) produced when values of current, voltage and the like at a certain timing are used in the calculation of the equations, the electrical angle at the previous timing may be corrected, so that the electrical angle at that timing can be calculated. If the thus-calculated electrical angle is used as a basis for calculating an electrical angle .theta.c at the next timing, it becomes possible to calculate the electrical angle in a sensor-less manner and to control the motor operation.
An example of the method for calculating an electrical angle will be described below. If the time differential (d/dt) in the voltage equations (1), (2) is substituted with a time difference (amount of change/time), the equations can be transformed into equations (3)-(5). EQU .DELTA.Id=Id(n)-Idm =Id(n)-Id(n-1)-t(Vd-RId+.omega.LqIq)/Ld (3) EQU .DELTA.Iq=Iq(n)-Iqm =Iq(n)-Iq(n-1)-t(Vq-RIq+.omega.LdId)/Lq (4) EQU En=E(n-1)-kk1.times..DELTA.Iq (5)
In these equations, Id, Iq are currents along of the d and q-axes, that is, the magnetizing current and the torque current, respectively; Ld, Lq are inductances along the d and q-axes; and Vd, Vq are values of voltage applied to the windings. Affixes, such as (n) and the like, are attached to the variables on the basis of the fact that the operations expressed above are periodically repeated. Affix (n) indicates that a value of the variable at a given timing, and (n-1) indicates a value at the timing previous to the given timing. Idm and Iqm represent model values of the magnetizing current and the torque current, that is, theoretical values of current that are calculated on the basis of the voltage equations when it is assumed that the estimated electrical angle is correct. The period of the cycle of this operation is time t in the equations (3), (4).
The terms of time differential in the aforementioned voltage equations is transformed on the assumption that inductance takes a constant value. For example, the transformation is performed as in: EQU p(Ld.times.Id)=Ld.times.p.times.(Id)
The other term p(Lq.times.Iq) is transformed in the same manner.
The other variables in the above equations represent as follows. That is, .omega. represents the operating angular speed of the motor in the unit of radian/sec. The motor's operating speed N (rpm) and the number of pairs of poles Np have a relationship expressed as .omega.=2.pi..times.Np.times.N/60. In the equations, kk1 represents a gain that makes a relationship among electromotive forces E(n), E(n-1) and .DELTA.Iq and is used to calculate an electrical angle, kk1 being experimentally calculated.
Using the values .DELTA.Id, .DELTA.Iq, E(n) calculated as described above, an electrical angle .theta.(n) at the given timing is calculated from the electrical angle .theta.(n-1) on the basis of the following equation (6): EQU .theta.(n)=.theta.(n-1)+tE(n)/kk2+sgn.times.kk3.times..DELTA.Id (6)
where sgn indicates that the sign of the term is "+" when .omega.&gt;0, and "-" when .omega.&lt;0. The equation is based on a precondition that the motor is operating at a high speed. Therefore, the equation does not take into account a case where the motor is not operating, that is, .omega.=0. Furthermore, kk2, kk3 are experimentally determined gains that are used to calculate an electrical angle, similar to kk1. According to the conventional art, an electrical angle is calculated by repeatedly executing the four equations (3)-(6). The thus-calculated electrical angle .theta.(n) is applied to the current control at the next timing.
In order to secure a sufficiently high precision when the motor is operating at a high speed, it is necessary to execute the above-described calculation at a high speed. The calculation requires that errors of the currents occurring in the directions of the d and q-axes be determined and, based on the errors, an error of the electrical angle be calculated. Thus, the amount of calculation is very large. In order to execute the calculation while keeping up with the operation of the motor, it is necessary to use a high-cost arithmetic circuit. As a result, the production cost of an apparatus employing a synchronous motor, for example, a hybrid vehicle, becomes high.
A technique normally employed to reduce the required amount of calculation is simplification of the model that is applied to the control. Such a technique corresponds to simplification of the aforementioned voltage equations in the case of a synchronous motor. Technologies for sensor-less control of a synchronous motor have been proposed only recently, and cannot be said to reliably achieve a sufficiently high precision in the electrical angle detection. Therefore, in the case of synchronous motors, a reduction of the control precision through simplification of the mode is not appropriate. On the contrary, the precision needs to be further improved.
Furthermore, in order to detect an electrical angle with a sufficiently high precision in the conventional method, it is necessary to set an appropriate value of each coefficients kk1, kk2, kk3 in the equations (5), (6) separately for each motor. However, the conventional method uses two parameters, that is, .DELTA.Id and .DELTA.Iq, to detect an electrical angle, so that it is difficult to set a value of each coefficient that will achieve a sufficiently high precision, in accordance with fluctuation of each one of the parameters. Furthermore, since the coefficients kk1, kk2 are closely related to each other as is apparent from the equations (5) and (6), the setting of appropriate values becomes more difficult.
The conventional method has another problem that a change in the temperature of the permanent magnets of the motor occurring during operation causes an error in the electromotive force E and results in a reduction in the precision in electrical angle detection. FIG. 20A indicates over-time changes in the torque actually outputted from the motor when the motor is controlled at a predetermined rotational speed with a required torque being 0 Nm. The hatched area in the diagram of FIG. 20A indicates an output torque detection range. The output torque detection range has a substantially uniform width because the detection range includes ranges of detection errors caused by noises during detection. FIG. 20B indicates changes in the permanent magnet temperature over time during the operation. The hatched area indicates magnet temperatures. As indicated, the magnet temperature increases to about 100.degree. C. as time elapses. Substantially corresponding to the changes in the magnet temperature, errors of about .+-.5 Nm occur in the motor output torque. Since the magnet temperature inevitably changes during the operation of the motor, how to eliminate the detection errors caused by changes in the magnet temperature is a critical issue.